/*
 * IRobot14.h
 *
 *  Created on: Nov 19, 2013
 *      Author: m
 */

#ifndef IROBOT14_H_
#define IROBOT14_H_

class IRobot14
{
public:
    virtual ~IRobot14()
    {
    }

    // Consumidor de cintas 13
    void notificarNuevoElemento()
    {
        r14_notificarNuevoElemento();
    }

    void esperarNuevoElemento()
    {
        r14_esperarNuevoElemento();
    }

    virtual void r14_notificarNuevoElemento() = 0;

    virtual void r14_esperarNuevoElemento() = 0;

    // Productor de Cinta15
    void esperarEspacioVacio()
    {
        r14_esperarEspacioVacio();
    }

    bool esperaEspacioVacio()
    {
        return r14_esperaEspacioVacio();
    }

    void notificarEspacioVacio()
    {
        r14_notificarEspacioVacio();
    }

    void notificarQuiteElemento()
    {
        r14_notificarQuiteElemento();
    }

    virtual void r14_esperarEspacioVacio() = 0;

    virtual bool r14_esperaEspacioVacio() = 0;

    virtual void r14_notificarEspacioVacio() = 0;

    virtual void r14_notificarQuiteElemento() = 0;
};

#endif /* IROBOT14_H_ */
